package com.ruoyi.back.service

import com.baomidou.mybatisplus.extension.service.IService
import com.ruoyi.app.common.Data
import com.ruoyi.app.common.PageData
import com.ruoyi.back.domain.TemplateRecommend
import com.ruoyi.back.domain.dto.CheckTemplateDto
import com.ruoyi.back.domain.dto.TemplateRecommendSearchDto
import com.ruoyi.back.domain.vo.CheckStatusSumVo
import com.ruoyi.back.domain.vo.TemplateRecommendListVo

interface TemplateRecommendService : IService<TemplateRecommend> {

    /**
     * 提交推荐
     */
    fun saveTemplateRecommend(templateRecommend: TemplateRecommend): Data<Boolean>

    /**
     * 获取审核状态统计
     */
    fun checkStatusSum(type: Int): Data<CheckStatusSumVo>

    /**
     * 模板推荐分页
     */
    fun templateRecommendPage(templateRecommendSearchDto: TemplateRecommendSearchDto): PageData<TemplateRecommendListVo>

    /**
     * 审核模板推荐
     */
    fun checkTemplateRecommend(checkTemplateDto: CheckTemplateDto): Data<Boolean>

    /**
     * 删除模板推荐
     */
    fun removeTemplateRecommend(ids: String): Data<Boolean>

    /**
     * 下架模板推荐
     */
    fun offlineTemplateRecommend(id: Long): Data<Boolean>

    /**
     * 判断用户作品是否被推荐
     */
    fun recordBoolRecommend(recordId: Long): Boolean
}